The present invention relates to the field of software virtualization and, more particularly, to a runtime environment for virtualizing information technology (IT) appliance servers.
The total cost of ownership (TCO) of traditional information technology infrastructure has been continuously increasing. This is due to the complexity of the underlying software stacks and consequently their demand for computing power as well as operational requirements. IT appliances are often proposed as a solution to solve a part of this problem by providing specialized hardware which handles infrastructure tasks. For instance, a network appliance can provide file sharing between two or more virtual private networks.
Maintaining these appliances, however, remains a challenge in terms of hardware upgrades and/or failures. Upgrades/failures can usually result in costly appliance replacement and/or significant downtime. These drawbacks can considerably increase the TCO of the entire infrastructure. Further, each conventional appliance serves a specific set of functions. That is, each appliance is optimized hardware and software for a discrete set of functions, as opposed to a generalized computing device, that by design is able to perform different functions depending upon loaded software. It is often unfeasible or impossible to repurpose an IT appliance when infrastructure changes render that IT appliance unnecessary. Accordingly, while IT appliances provide many advantages, several shortcomings can adversely affect the TCO of IT appliances.